컬럼 (데이터베이스)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
컬럼(Column)은 데이터베이스에서 테이블을 구성하는 수직적인 구성 요소로, 각 열은 특정 속성에 대한 데이터 값을 저장한다. 관계형 데이터베이스에서 튜플(행)은 여러 속성(컬럼)으로 구성되며, 각 컬럼은 해당 튜플의 특정 데이터를 나타낸다. SQL의 CREATE TABLE 구문을 사용하여 컬럼을 정의하며, 관계 대수 및 관계 논리에서 속성(컬럼)을 기반으로 데이터를 조작한다.
더 읽어볼만한 페이지
- SQL - 사용자 정의 함수
사용자 정의 함수는 프로그래밍 언어와 데이터베이스 시스템에서 사용자가 직접 정의하여 재사용할 수 있는 코드 블록이다. - SQL - 임베디드 SQL
임베디드 SQL은 호스트 프로그래밍 언어 내에 SQL 문을 삽입하여 데이터베이스와 상호 작용하는 기술로, 데이터베이스 액세스를 표준화하지만 보안 취약점과 이식성 저하의 단점도 가진다. - 데이터 모델링 - 빌딩 정보 모델링
빌딩 정보 모델링(BIM)은 건축물의 전 생애주기 동안 발생하는 정보를 디지털 모델로 통합 관리하는 프로세스이다. - 데이터 모델링 - 저장 프로시저
저장 프로시저는 데이터베이스 관리 시스템에서 SQL 문들을 미리 컴파일하여 저장하고, 모듈화, 보안성, 성능 향상, 유지보수 용이성과 같은 특징을 가지며, 데이터베이스 시스템마다 구현 방식과 지원하는 언어가 다를 수 있는 코드 묶음이다. - 데이터베이스 관리 시스템 - 트랜잭션 처리
트랜잭션 처리는 데이터베이스 시스템에서 데이터의 일관성과 무결성을 보장하기 위한 기술이며, ACID 속성을 통해 데이터 정확성을 유지하고 롤백, 데드락 처리 등의 기술을 활용한다. - 데이터베이스 관리 시스템 - 저장 프로시저
저장 프로시저는 데이터베이스 관리 시스템에서 SQL 문들을 미리 컴파일하여 저장하고, 모듈화, 보안성, 성능 향상, 유지보수 용이성과 같은 특징을 가지며, 데이터베이스 시스템마다 구현 방식과 지원하는 언어가 다를 수 있는 코드 묶음이다.
컬럼 (데이터베이스) | |
---|---|
데이터베이스 컬럼 | |
정의 | 데이터베이스 테이블 내의 속성 |
역할 | 테이블 내의 각 레코드에 대한 특정 데이터 유형 저장 |
구성 요소 | 이름 데이터 유형 크기 제약 조건 |
속성 (attribute) | |
데이터베이스 속성 | 데이터베이스의 테이블 내의 속성 |
엔터티-관계 모델 | 엔터티의 특징을 설명하는 요소 |
예시 | 고객 테이블의 "이름", "주소", "전화번호" 등 |
컬럼 (column) | |
테이블 구조 | 데이터베이스 테이블의 수직 구조 |
데이터 유형 | 컬럼에 저장될 데이터의 유형 (예: 숫자, 문자열, 날짜) |
제약 조건 | 데이터의 유효성을 검사하는 규칙 (예: NOT NULL, UNIQUE) |
2. 속성(Attribute)의 정의
예를 들어, 회사를 나타내는 테이블에는 다음과 같은 칼럼이 존재할 것이다.
- ID (integer identifier영어, 각 열이 고유하다, 즉 중복되는 항목이 없다)
- Name (text영어)
- Address line 1영어 (text영어)
- Address line 2영어 (text영어)
- City영어 (integer identifier영어, 별개의 city 테이블에서 끌어온 것)
- Postal code영어 (text영어)
- Industry영어 (integer identifier영어, 별개의 industries영어 테이블에서 끌어온 것)
등
각 열은 각 칼럼에 대한 데이터 값을 제공할 것이며, 단일 구조 데이터 값으로 이해될 것이다. 이 경우에는 company를 나타낸다. 보다 공식적으로 각 열은 관계변수로서 해석될 수 있다. 적절한 칼럼명과 이 열이 그 칼럼을 위해 제공하는 값, 2개의 항목으로 각 튜플이 구성된다.
Column 1영어 | Column 2영어 | |
---|---|---|
Row 1영어 | Row 1영어, Column 1영어 | Row 1영어, Column 2영어 |
Row 2영어 | Row 2영어, Column 1영어 | Row 2영어, Column 2영어 |
Row 3영어 | Row 3영어, Column 1영어 | Row 3영어, Column 2영어 |
데이터베이스 예제들: MySQL영어, SQL Server영어, Access영어, Oracle영어, Sybase영어, DB2영어.
코딩은 SQL 질의어와 관련이 있다.
튜플(행)은 특정 속성의 순서가 없는 집합과 각 속성 값으로 구성된다.
여러 속성(열, 컬럼)으로 구성된 튜플 유형의 예시를 나타낸다.
속성명 | 도메인명 |
---|---|
ID | 정수형 |
이름 | 문자열형 |
주소 | 문자열형 |
이 유형의 실제 튜플 예시를 나타낸다.
이 예시에서는 편의상 튜플을 시각적인 그림으로 나타낸다.
ID : 정수형 | 이름 : 문자열형 | 주소 : 문자열형 |
---|---|---|
101 | "휴 다윈" | "오키나와현 나하시" |
관계(릴레이션 또는 표, 테이블)의 머리글은 순서가 없는 속성의 집합으로 구성된다. 관계는 하나의 머리글과 0개 이상의 동일한 유형의 튜플의 순서가 없는 집합으로 구성된 데이터 구조이다. 머리글을 구성하는 속성의 수를 '''차수'''라고 한다. 관계의 차수는 0 또는 양의 정수이다.
관계의 예를 보여준다. 이 예에서는 편의상 관계를 시각적으로 표(테이블)로 나타낸다.
ID : 정수형 | 성명 : 문자열형 | 주소 : 문자열형 |
---|---|---|
102 | "휴 다윈" | "오키나와현 나하시" |
202 | "에드거 F. 코드" | "미야기현 센다이시" |
104 | "크리스 데이트" | "구마모토현 구마모토시" |
152 | "마이클 스톤브레이커" | "오키나와현 오키나와시" |
속성은 관계 모델의 연산 체계인 관계 대수 및 관계 논리에서 사용된다.
관계 대수 및 관계 논리는 하나 이상의 관계를 기반으로 연산 결과로서 하나의 관계를 생성한다. 예를 들어, 관계 대수의 투영 연산에서는 하나의 관계에 대해 몇 개의 속성을 지정한다. 투영 연산은 관계를 구성하는 속성 집합에서 몇 개의 속성을 추출한다.
투영의 예를 보여준다.
{|
|- style="vertical-align: top;"
| style="padding: 8px;"|
A | B | C |
---|---|---|
1 | 2 | 3 |
4 | 5 | 6 |
| style="padding: 8px;"|
A | B |
---|---|
1 | 2 |
4 | 5 |
| style="padding: 8px;"|
A |
---|
1 |
4 |
|}
관계형 데이터베이스의 데이터베이스 언어 SQL에서는 CREATE TABLE
구문을 사용하여 속성을 지정하여 관계(표, 테이블)를 정의할 수 있다.
CREATE TABLE 인명록 (
ID INTEGER,
성명 CHAR(40),
주소 CHAR(200),
PRIMARY KEY (ID)
)
2. 1. 필드(Field)와의 관계
'필드'라는 단어는 일반적으로 '열'과 같은 의미로 사용된다.[5] 하지만, 데이터베이스 전문가들은 특정 행의 특정 셀을 나타내기 위해 '필드'를 사용하는 것을 선호하는 경향이 있다. 이는 다른 개발자와의 정확한 소통을 가능하게 하기 위함이다. 열(실제로는 열 이름)은 필드 이름(테이블의 각 행/레코드에 일반적임)으로 지칭된다. 그러면 필드는 특정 레코드의 단일 저장 위치(셀과 같음)를 참조하여 하나의 값(필드 값)을 저장한다. 레코드와 필드라는 용어는 데이터베이스 사용의 보다 실용적인 분야와 전통적인 DBMS 시스템 사용에서 유래되었다(이는 각 고객에 대한 레코드가 있는 파일 캐비닛 저장소와 같은 수동 데이터베이스에서 사용되는 비즈니스 관련 용어로 연결되었다). 행과 열이라는 용어는 관계형 이론의 보다 이론적인 연구에서 유래되었다.'열'과 '필드'라는 용어의 또 다른 차이점은 '열'이라는 용어가 전통적인 관계형 데이터베이스 구조를 따르지 않는 키-값 데이터베이스와 같은 특정 데이터베이스에는 적용되지 않는다는 것이다.[6]
3. 튜플(Tuple)에서의 속성
튜플(tuple, 행)은 특정 속성의 순서가 없는 집합과 각 속성 값으로 구성된다.
3개의 속성(ID: 정수형, 이름: 문자열형, 주소: 문자열형)을 가진 튜플의 예시는 다음과 같다.
ID : 정수형 | 이름 : 문자열형 | 주소 : 문자열형 |
---|---|---|
101 | "휴 다윈" | "오키나와현 나하시" |
3. 1. 튜플 예시
3개의 속성(ID: 정수형, 이름: 문자열형, 주소: 문자열형)을 가진 튜플의 예시는 다음과 같다.ID : 정수형 | 이름 : 문자열형 | 주소 : 문자열형 |
---|---|---|
101 | "휴 다윈" | "오키나와현 나하시" |
4. 관계(Relation)에서의 속성
관계(릴레이션 또는 표, 테이블)의 머리글은 순서가 없는 속성의 집합으로 구성된다. 관계는 하나의 머리글과 0개 이상의 동일한 유형의 튜플의 순서가 없는 집합으로 구성된 데이터 구조이다. 머리글을 구성하는 속성의 수를 '''차수''' (degree)라고 한다. 관계의 차수는 0 또는 양의 정수이다.
관계를 표(테이블)로 나타낸 예시는 다음과 같다.
ID : 정수형 | 성명 : 문자열형 | 주소 : 문자열형 |
---|---|---|
102 | "휴 다윈" | "오키나와현 나하시" |
202 | "에드거 F. 코드" | "미야기현 센다이시" |
104 | "크리스 데이트" | "구마모토현 구마모토시" |
152 | "마이클 스톤브레이커" | "오키나와현 오키나와시" |
속성은 관계 모델의 연산 체계인 관계 대수 및 관계 논리에서 사용된다. 관계 대수 및 관계 논리는 하나 이상의 관계를 기반으로 연산 결과로서 하나의 관계를 생성한다. 예를 들어, 관계 대수의 투영 연산에서는 하나의 관계에 대해 몇 개의 속성을 지정한다. 투영 연산은 관계를 구성하는 속성 집합에서 몇 개의 속성을 추출한다.
관계형 데이터베이스의 데이터베이스 언어 SQL에서는 `CREATE TABLE` 구문을 사용하여 속성을 지정하여 관계 (테이블)를 정의할 수 있다.
```sql
CREATE TABLE 인명록 (
ID INTEGER,
성명 CHAR(40),
주소 CHAR(200),
PRIMARY KEY (ID)
)
4. 1. 관계 예시
회사를 나타내는 테이블의 예시는 다음과 같다.- ID (integer identifier, 각 열이 고유, 중복되는 항목 없음)
- Name (text)
- Address line 1 (text)
- Address line 2 (text)
- City (integer identifier, 별개의 city 테이블에서 참조)
- Postal code (text)
- Industry (integer identifier, 별개의 industries 테이블에서 참조)
각 열은 단일 구조 데이터 값으로 이해될 수 있다. 각 열은 튜플의 세트로 구성된 관계변수로서 해석될 수 있으며, 각 튜플은 칼럼명과 해당 칼럼의 값을 나타내는 두 항목으로 구성된다.
ID : 정수형 | 성명 : 문자열형 | 주소 : 문자열형 |
---|---|---|
102 | "휴 다윈" | "오키나와현 나하시" |
202 | "에드거 F. 코드" | "미야기현 센다이시" |
104 | "크리스 데이트" | "구마모토현 구마모토시" |
152 | "마이클 스톤브레이커" | "오키나와현 오키나와시" |
관계 모델의 연산 체계인 관계 대수 및 관계 논리에서 속성이 사용된다. 관계 대수 및 관계 논리는 하나 이상의 관계를 기반으로 연산 결과로서 하나의 관계를 생성한다. 예를 들어, 투영 연산은 관계를 구성하는 속성 집합에서 몇 개의 속성을 추출한다.
관계형 데이터베이스의 데이터베이스 언어 SQL에서는 CREATE TABLE
구문을 사용하여 속성을 지정하여 관계 (테이블)를 정의할 수 있다.
```sql
CREATE TABLE 인명록 (
ID INTEGER,
성명 CHAR(40),
주소 CHAR(200),
PRIMARY KEY (ID)
)
5. 관계 대수(Relational Algebra)에서의 속성
관계 대수는 관계형 데이터베이스에서 데이터를 조작하는 데 사용되는 연산 체계이다. 관계 대수의 연산(예: 투영(Projection))은 속성을 기반으로 수행되며, 관계에서 특정 속성만을 추출하는 데 사용된다. 예를 들어 투영 연산은 주어진 관계에서 지정된 속성들만 추출한다.
투영의 예시는 다음과 같다.
{|
|- style="vertical-align: top;"
| style="padding: 8px;"|
A | B | C |
---|---|---|
1 | 2 | 3 |
4 | 5 | 6 |
| style="padding: 8px;"|
A | B |
---|---|
1 | 2 |
4 | 5 |
| style="padding: 8px;"|
A |
---|
1 |
4 |
|}
6. SQL에서의 속성
SQL(Structured Query Language)은 관계형 데이터베이스를 관리하고 조작하는 데 사용되는 표준 데이터베이스 언어이다. `CREATE TABLE` 문을 사용하여 테이블을 정의할 때 속성의 이름, 데이터 형식, 제약 조건 등을 지정한다.
다음은 SQL을 사용한 테이블 생성 예제이다.
```sql
CREATE TABLE 인명록 (
ID INTEGER PRIMARY KEY,
성명 CHAR(40),
주소 CHAR(200)
);
```
위 예제에서 `ID`, `성명`, `주소`는 `인명록` 테이블의 속성을 나타낸다. `INTEGER`, `CHAR(40)`, `CHAR(200)`는 각 속성의 데이터 형식을 나타낸다. `PRIMARY KEY (ID)`는 `ID` 속성을 기본 키로 설정하여 각 튜플(행)을 고유하게 식별하도록 한다.
6. 1. SQL 예제
다음은 SQL을 사용한 테이블 생성 예제이다.```sql
CREATE TABLE 인명록 (
ID INTEGER PRIMARY KEY,
성명 CHAR(40),
주소 CHAR(200)
);
```
위 예제에서 `ID`, `성명`, `주소`는 `인명록` 테이블의 속성을 나타낸다. `INTEGER`, `CHAR(40)`, `CHAR(200)`는 각 속성의 데이터 형식을 나타낸다. `PRIMARY KEY (ID)`는 `ID` 속성을 기본 키로 설정하여 각 튜플(행)을 고유하게 식별하도록 한다.
참조
[1]
문서
The term "column" also has equivalent applications in other, more generic contexts. See e.g., Flat file database, Table (information).
[2]
웹사이트
Columnar databases in a big data environment
http://www.dummies.c[...]
2015-11-05
[3]
웹사이트
What is Database Column? - Definition from Techopedia
https://www.techoped[...]
2015-11-05
[4]
뉴스
Relational Databases
https://www.cs.miami[...]
2021-02-26
[5]
웹사이트
An introduction to databases
http://www.ucl.ac.uk[...]
2015-11-05
[6]
웹사이트
A Comparison of NoSQL Database Management Systems and Models
https://www.digitalo[...]
2019-08-09
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com